package com.cskaoyan.thread02.model.edition1;

/*
        该类描述吃包子的消费者
 */
public class ConsumerTask implements Runnable {

    Container container;

    public ConsumerTask(Container container) {
        this.container = container;
    }

    @Override
    public void run() {

        while (true) {
            synchronized (container) {

                // 如果蒸笼为空，阻止自己
                if (container.isEmpty()) {
                    // 蒸笼为空，阻止自己
                    try {
                        container.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                } else {
                    // 如果蒸笼不空，拿包子吃，并通知做包子的赶紧做包子
                    // 吃包子
                    container.eatFood();
                    // 通知别人
                    container.notify();
                }
            }
        }

    }
}
